Q: Help! My machine has slowed to molasses. Even doing an
\b ls
\b0 in a terminal window takes forever. A
\b ps
\b0 shows the process numbers in the PID table are in the thousands — even soon after reboot. There are 3 defunct processes owned by root with priority of -1 which can't be killed. When trying to launch Mathematica on my 12MB machine to run a simple plot I get an “insufficient memory” error. What can I do?\
\i \
\i0 A: The key symptom of this problem is the defunct or “zombie” processes shown in the PID table. A zombie process occurs when a child process dies after its parent has died, and no
\b wait
\b0 () has been done for the child. Once the child process dies, it is inherited by
\b init
\b0 and owned by
\b root
\b0 . These processes are
\i not
\i0 consuming any system resources, except for one process table slot. They are not using memory or CPU time because they are done executing and therefore cannot be killed. When a UNIX system exhibits this type of problem (spawning lots of zombies) then some system process (often a getty) is trying to start, is failing, and is re-trying endlessly.\
\
Good places to look for causes of such problems are the following system files (all in
\b0 ) on the suspect file on your system and compare to the checksum of the same file on your Software Release master. A difference in the two numbers does not necessarily indicate an error — you might have intentionally changed something — but it does mean the the file should be more closely scutinized, especially if you don't think you've changed the file.\
\
For example, the first several lines of the /etc/ttys file on a stock, unmodified 1.0, 1.0a, 2.0, or 2.1 disk will look like this:\